package com.example.jd.common.enums;

/**
 * @author fudaolai
 * @Data 2019/09/07
 * @Desc 枚举类
 */
public enum BizStatusCodeEnum {
    /**
     * 成功
     */
    SUCCEED(200, "请求成功"),
    /**
     * 请求失败
     */
    FAILED(500, "请求失败"),
    /**
     * 请求异常
     */
    EXCEPTION(500, "请求异常"),
    /**
     * 未授权
     */
    VERIFICATION(400, "未授权"),
    /**
     * 请求格式不正确
     */
    VALID(600, "请求格式不正确"),
    /**
     * 服务器错误
     */
    SERVER_ERROR(500, "服务器错误"),
    /**
     * 未授权
     */
    UNAUTHORIZED(10010, "未授权"),
    /**
     * 缺少参数
     */
    MISSING_PARAMS(10101, "缺少参数"),
    /**
     * 没有找到，不存在
     */
    NOT_FOUND(10104, "没有找到，不存在"),
    /**
     * 更新失败
     */
    UPDATE_FAIL(10106, "更新失败"),

    /**
     * 参数错误,传入的实体或者参数不正确
     */
    ERROR_PARAMS(101, "参数错误,传入的实体或者参数不正确"),
    /**
     * 保存信息异常
     */
    ERROR_SAVE(102, "保存信息异常"),
    /**
     * 系统错误
     */
    ERROR_SYSTEM(104, "系统错误"),
    /**
     * 已经存在
     */
    ERROR_EXIST(105, "已经存在"),
    /**
     * IP未授权
     */
    IP_UNAUTHORIZED(401, "IP未授权"),
    /**
     * 有任务在执行，进入队列
     */
    HAVE_JOB_NOW(2001, "有任务在执行，进入队列"),
    /**
     * taskId无效
     */
    TASK_ID_INVALID(200100, "taskId无效"),
    /**
     * userId无效
     */
    USER_ID_INVALID(200101, "userId无效"),
    /**
     * TOKEN无效
     */
    TOKEN_INVALID(202001, "TOKEN无效"),
    /**
     * 技能无效
     */
    SKILL_INVALID(101625, "技能无效"),
    /**
     * APIKey或者SecretKey无效
     */
    KEY_INVALID(101001, "APIKey或者SecretKey无效"),
    /**
     * 参数错误,传入的实体或者参数不正确
     */
    PARAM_ERROR(1010, "参数错误,传入的实体或者参数不正确"),
    SKILL_ERROR(101625, "技能无效"),

    MODEL_EDITOR_JSON_NOT_FOUND(10105, "模板json不存在"),
    MODEL_STATE_IS_NOT_ENABLE(10107, "模板状态为非启用"),
    MODEL_STATE_INVALID(10108, "模板状态不正确"),
    ;
    BizStatusCodeEnum(int code, String description){
        this.code = code;
        this.description = description;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public boolean isSucceed(){
        return this.code == 200;
    }

    private int code;
    private String description;
}
